package com.hxkj.dao;

import com.hxkj.domain.po.Channel;
import com.platform.common.domain.annotation.EnableDataSource;

import java.util.List;

/**
* 数据操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-05 19:32:55
*
*/
public interface ChannelDao {

    /**
    * @author Mr.zheng
    * @Description saveChannel 新增频道
    * @Date 13:13 2018/6/6
    * @Param [channel]
    * @return int
    **/
    int saveChannel(Channel channel);

    /**
    * @author Mr.zheng
    * @Description getChannelList 获取频道列表
    * @Date 14:35 2018/6/6
    * @Param [channel]
    * @return java.util.List<com.hxkj.domain.po.Channel>
    **/
    @EnableDataSource("slave")
    List<Channel> getChannelList(Channel channel);

    /**
    * @author Mr.zheng
    * @Description modifyChannel 修改频道信息
    * @Date 9:41 2018/6/7
    * @Param [channel]
    * @return int
    **/
    int modifyChannel(Channel channel);

    /**
    * @author Mr.zheng
    * @Description getChannelByName 根据名称获取频道列表
    * @Date 18:23 2018/6/7
    * @Param [channelName]
    * @return java.util.List<com.hxkj.domain.po.Channel>
    **/
    @EnableDataSource("slave")
    List<Channel> getChannelByName(String channelName,Long siteId);

    /**
    * @author Mr.zheng
    * @Description removerChannelById 删除频道
    * @Date 18:31 2018/6/7
    * @Param [aLong]
    * @return int
    **/
    int removeChannelById(Long channelId);

    /**
    * @author Mr.zheng
    * @Description getChannelById 根据ID获取频道信息
    * @Date 18:58 2018/6/7
    * @Param [channelId]
    * @return com.hxkj.domain.po.Channel
    **/
    @EnableDataSource("slave")
    Channel getChannelById(Long channelId);

    /**
    * @author Mr.zheng
    * @Description getChannelByTempletName 根据别名获取频道列表
    * @Date 19:28 2018/7/10
    * @Param [templetName, siteId]
    * @return java.util.List<com.hxkj.domain.po.Channel>
    **/
    @EnableDataSource("slave")
    List<Channel> getChannelByTempletName(String templetName, Long siteId);

    /**
     * 通过站点id获取所有的频道
     * chenfangzhou
     */
    @EnableDataSource("slave")
    List<Channel> getListBySiteId(Channel channel);

    /**
     * @author Mr.zheng
     * @Description getChannelByTempletId 根据站点ID和模板ID获取绑定了该模板的频道数据
     * @Date 14:47 2018/8/16
     * @Param [channel]
     * @return com.platform.common.domain.result.ResultDataStruct<com.hxkj.domain.po.Channel>
     **/
    @EnableDataSource("slave")
    List<Channel> getChannelByTempletId(Channel channel);
}
